Field of Disclosure
The present disclosure relates generally to the transmission of data across buses in a ternary memory, and more particularly to the transmission of multiple search keys that share many bytes in common in a manner to reduce power consumption in the transmission across the ternary memory.
Related Art
Communication devices, such as routers and servers, are commonly used in both corporate and personal settings to handle data and network throughput. These communication devices provide users with cross-communication abilities between devices, as well as the ability to communicate over larger networks like the interne.
In order to properly process incoming data packets, a communication device must accurately identify the actions to be performed on each packet. The actions to be performed are stored as rules associated with an Access Control List (ACL). The communication device selects a rale to be performed on a received packet based on one or more packet characteristics, such as the packet's source port and/or destination port. Each rule may be applicable to several ports and thus require several data entries in a Ternary Content Addressable Memory (TCAM).
In order to select a rule to be performed on a received packet, information from the received packet, such as the destination address of the received packet, is input as a master search key to key processing units (KPU). The KPUs each re-arrange or replace particular bytes of the master search key according to application-specific profiles pre-programmed into an associated buffer. Each KPU outputs a search key that may have one or more bytes changed or replaced according to a particular profile, and all of the search keys are routed across an entire chip, such as a knowledge-based processor, to a TCAM array, typically arranged in superblocks. The particular key to be used at each superblock is selected locally at the superblock.
As new packets are received each cycle, this results in the search key data output from each KPU switching (such as from logic high to logic low, or vice versa) across the bus each cycle. Often, however, many of the bytes in the search keys from each of the KPUs remain the same as the master search key. The resulting switching of the data across the bus is a significant source of power consumption and loss. This power consumption also increases as the frequency of operation increases.
The disclosure will now be described with reference to the accompanying drawings.